using System;
using System.Collections.Generic;
using GameProtocols;

namespace Network 
{
    public static class ProtoRouter
    {
        public static Dictionary<int, System.Type> IdToType = new Dictionary<int, System.Type>
        {
            { (int)ProtoId.MSG_SYN_STATE_REQ, typeof(PKG_SYN_STATE_REQ) },
            { (int)ProtoId.MSG_SYN_STATE_NTF, typeof(PKG_SYN_STATE_NTF) },

            { (int)ProtoId.MSG_OPERATION, typeof(PKG_OPERATION) },
            { (int)ProtoId.MSG_FRAME, typeof(PKG_FRAME) },
        };
    }

    

    public static class SerializerRouter
    {
        public static Dictionary<int, System.Func<byte[], object>> Deserialier = new Dictionary<int, System.Func<byte[], object>>
        {
            
        };
    }


    public enum JsonMsgId
    {
        GMConsoleCommand = 0,
        LogonRequest = 1,
        LogonResponse = 2,
        SetCharacter = 9,
        OpenRoom = 7,
        JoinRoom = 3,
        JoinRoomResponse = 4,

        //GM
        getuserbyuid = 1000,
        addItem=1002,
        login = 1003
    }

    public enum L2VMsgId
    {
        Begin = 3000,
        SetPosition,
        SetFaceDirection,
        PlayAnimation,
        StepAnimation,
    }

    public enum L2GMsgId
    {
        Begin = 6000,
        InitFinished,
    }

    public enum LocalGMID
    {
        game,
        clear
    }
}
